/**
 * @author liangxi
 * @since 2023/12/21
 */

#ifndef DESIGNPATTERN_DECOYDUCK_H
#define DESIGNPATTERN_DECOYDUCK_H

#include <iostream>
#include "../Duck.h"
#include "../../Behavior/Fly/impl/FlyNoWay.h"
#include "../../Behavior/Quack/impl/MuteQuack.h"

namespace Strategy {

    class DecoyDuck : public Duck {
    public:
        DecoyDuck() {
            setFlyBehavior(std::make_shared<FlyNoWay>());
            setQuackBehavior(std::make_shared<MuteQuack>());
        }


        void display() override {
            std::cout << "I am a duck Decoy" << std::endl;
        }
    };

} // Strategy

#endif //DESIGNPATTERN_DECOYDUCK_H
